#ifndef TWI_H
#define TWI_H
/***********************************************************************************************************************
**                                                    Includes                                                        **
***********************************************************************************************************************/
#include "I2c.h" 
#include "Std_Types.h"

/***********************************************************************************************************************
**                                                  Global Symbols                                                    **
***********************************************************************************************************************/
#define I2C_AFE1 I2C0
#define I2C_AFE2 I2C1

/***********************************************************************************************************************
**                                                Global Data Types                                                   **
***********************************************************************************************************************/
typedef enum {
    EEPROM,
    RAM
} MTP_READ_TYPE;

typedef struct _Twi_Data
{
    uint32 i2c;
    uint8 id;
    uint8 RegAddr;
    uint8 data;
    uint8 crc;
}Twi_Data;

/***********************************************************************************************************************
**                                                  Global Functions                                                  **
***********************************************************************************************************************/
void Twi_MainFunction(void);
extern Std_ReturnType Twi_Write(uint32 I2Cx,uint8 writeID, uint8 WrAddr, uint8 Length, uint8 *WrBuf,MTP_READ_TYPE type);
extern Std_ReturnType TwiRead(uint32 I2Cx,uint8 readID, uint8 RdAddr, uint8 Length, uint8 *RdBuf);
#endif
